package com.px.project.module.ht.service;

import java.util.List;

import com.px.common.dto.BaseQueryDto;
import com.px.project.module.ht.dto.LocomotiveInfoDto;
import com.px.project.module.ht.dto.LocomotiveInfoUpdateDto;
import com.px.project.module.ht.entity.LocomotiveInfo;
import com.px.project.module.ht.vo.LocomotiveInfoVo;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 机车-机械管理 服务类
 *
 * @author 品讯科技
 * @since 2023-10-07
 */
public interface LocomotiveInfoService extends IService<LocomotiveInfo> {

    /**
     * 分页查询
     *
     * @param pageVo 分页vo
     * @param locomotiveInfo 机车-机械管理
     * @return {@link Page }<{@link LocomotiveInfoVo }>
     */
    Page<LocomotiveInfoVo> page(BaseQueryDto<LocomotiveInfoVo> pageVo, LocomotiveInfo locomotiveInfo);

    /**
     * 查询所有机车列表
     *
     * @param category 类型：0,轨道车、1,机械设备
     * @return {@link List }<{@link LocomotiveInfoVo}>
     */
    List<LocomotiveInfoVo> listOfAll(Integer category);

    /**
     * 保存机车-机械管理
     *
     * @param locomotiveInfo 机车-机械管理
     * @return {@link Boolean}
     */
    Boolean saveOne(LocomotiveInfoDto locomotiveInfo);

    /**
     * 更新机车-机械管理
     *
     * @param locomotiveInfo 机车-机械管理
     * @return {@link Boolean}
     */
    Boolean updateOfOne(LocomotiveInfoUpdateDto locomotiveInfo);

    /**
     * 根据ID删除单个
     *
     * @param id ID
     * @return {@link Boolean} 状态标识
     */
    Boolean deleteOne(Long id);
}